package com.marvels.approve.manager.dao;

import java.util.List;

import com.marvels.approve.manager.dto.CaseNodeRoleDTO;
import com.marvels.common.exception.MarvelsBusinessException;

/**
 * @author 何杰
 * 2018年4月10日
 */
public interface ICaseNodeRoleDao {
	/**新增
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public int insert(CaseNodeRoleDTO caseNodeRole)throws MarvelsBusinessException;
	
	/**更新
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public int updateByPrimaryKeySelective(CaseNodeRoleDTO caseNodeRole)throws MarvelsBusinessException;
	/**通过主键ID
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public CaseNodeRoleDTO selectByPrimaryKey(Long id)throws MarvelsBusinessException;
	/**查询多条数据
	 * @return
	 * @throws Exception
	 */
	public List<CaseNodeRoleDTO> select(CaseNodeRoleDTO caseNodeRoleDTO)throws MarvelsBusinessException;

	/**通过角色查询所能处理的节点
	 * @author 何杰
	 * 2018年5月14日
	 * @param roles
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<CaseNodeRoleDTO> selectNodesByRoles(List<String> roles)throws MarvelsBusinessException;
}
